<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="java.util.*,org.lanqiao.tjut.bean.*"%>
<!-- 导List包 -->
<!-- 导DepartmentEntity包 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!-- 标签包 -->
<!DOCTYPE html">
<html>
<head>
<!-- 把link meta titel 放入inc.jsp中 -->
<!-- include 指令 -->
<%@ include file="inc.jsp"%>
<!-- include 标签 -->
<jsp:include page="inc.jsp"></jsp:include>

</head>
<body>
	<%
		//构造froeach标签需要解析的数据
		//将数据缓存在session对象中
		//数据结构是 list + entity 表示查询结果的二维表结构
		List lstDept = new ArrayList();
		//创建DepartmentEntity  对象
		DepartmentEntity dept1 = new DepartmentEntity();
		//存入数据
		dept1.setDepartment_id(11);
		dept1.setDepartment_name("开发部");
		dept1.setLocation_id(101);
		//放到二维列表中
		lstDept.add(dept1);

		DepartmentEntity dept2 = new DepartmentEntity();
		dept2.setDepartment_id(12);
		dept2.setDepartment_name("测试部");
		dept2.setLocation_id(102);
		lstDept.add(dept2);

		DepartmentEntity dept3 = new DepartmentEntity();
		dept3.setDepartment_id(13);
		dept3.setDepartment_name("运维部");
		dept3.setLocation_id(103);
		lstDept.add(dept3);

		//缓存内建对象取值   
		// request
		// session
		// application 
		//将该数据放入session缓存中
		session.setAttribute("lstDept", lstDept);
		//session.removeAttribute("lstDept") 清空;
		//request.setAttribute("lstDept", lstDept);

		//for in 
		for (Object eachVal : lstDept) {

		}

		List lstMaps = new ArrayList();

		Map map1 = new LinkedHashMap();
		map1.put("name", "小明");
		map1.put("age", 20);
		lstMaps.add(map1);

		Map map2 = new LinkedHashMap();
		map2.put("name", "小号");
		map2.put("age", 22);
		lstMaps.add(map2);

		session.setAttribute("lstMaps", lstMaps);
	%>
	<br />
	<table class="table table-hover" width="400px" align="center"
		border="3px" cellpadding="1px" cellspacing="0px">
		<thead>
			<tr align="center" class="">
				<td>序号</td>
				<td>部门ID</td>
				<td>部门名</td>
				<td>办公ID</td>
			</tr>
		</thead>
		<tbody>
			<!--  items 是foreach标签遍历的集合对象，一般使用el表达式从缓存中获取
	              var （集合）是当前本次遍历获取的值存在以var属性值为名字的一个变量中
	              varStatus记录与遍历相关的一些数据信息，例如当前遍历的第几行，奇数行，偶数行
	         -->
			<c:forEach items="${sessionScope.lstDept}" var="eachVal"
				varStatus="statu">
				<tr align="center">
					<!-- el表达式  expression language 存取操作
					第8个ppt
					     变量 和 运算符				    
					     拆包  	     
					-->
					
					<td><c:out value="${statu.index + 1 }"></c:out></td>
					<td>${eachVal.department_id }</td>
					<td><c:out value="${eachVal.department_name }"></c:out></td>
					<td><c:out value="${eachVal.location_id }"></c:out></td>
				</tr>
			</c:forEach>
			<!-- 单独取值 -->
			<c:out value="${lstDept[1].department_name }"></c:out>
		</tbody>
	</table>

	<br>
	<!-- 双层for循环 -->
	<!-- 第一层取mip对象 -->
	<c:forEach items="${sessionScope.lstMaps }" var="val" varStatus="st">
		<c:out value="${st.count}"></c:out>
		<!-- 第二层遍历mip里面的键值对 -->
		<c:forEach items="${val }" var="each" varStatus="st2">
			<c:out value="${st2.count}"></c:out>
			<c:out value="${each.key}"></c:out>
			<c:out value="${each.value}"></c:out>
		</c:forEach>

		<br>
	</c:forEach>
	单独输出：？？？？？
	<c:out value="${(sessionScope.lstMaps[0]).key}"></c:out>
</body>
</html>